package com.ruoyi.stuinfo.domain;

import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 获奖查询对象 student_rewards
 *
 * @author zc
 * @date 2025-05-18
 */
@ExcelIgnoreUnannotated// 注解表示在导出Excel时，忽略没有被任何注解标记的字段
@ColumnWidth(16)// 注解用于设置列的宽度
@HeadRowHeight(14)// 注解用于设置表头行的高度
@HeadFontStyle(fontHeightInPoints = 11)// 注解用于设置表头的字体样式
public class StuRewards extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 奖励记录ID */
    private Long rewardId;

    /** 学生学号 */
    @Excel(name = "学生学号")
    @ExcelProperty("学生学号")
    private String studentId;

    /** 学生姓名 */
    @Excel(name = "学生姓名")
    @ExcelProperty("学生姓名")
    private String studentName;

    /** 获奖名称 */
    @Excel(name = "获奖名称")
    @ExcelProperty("获奖名称")
    private String rewardName;

    /** 获奖级别 */
    @Excel(name = "获奖级别")
    @ExcelProperty("获奖级别")
    private String rewardLevel;

    /** 获奖日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "获奖日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ExcelProperty("获奖日期")
    private Date rewardDate;

    /** 获奖图片路径/URL */
    @Excel(name = "获奖图片路径/URL")
    @ExcelProperty("获奖图片路径/URL")
    private String rewardImage;

    /** 奖励描述 */
    @Excel(name = "奖励描述")
    @ExcelProperty("奖励描述")
    private String rewardDescription;

    public void setRewardId(Long rewardId)
    {
        this.rewardId = rewardId;
    }

    public Long getRewardId()
    {
        return rewardId;
    }

    public void setStudentId(String studentId)
    {
        this.studentId = studentId;
    }

    public String getStudentId()
    {
        return studentId;
    }

    public void setStudentName(String studentName)
    {
        this.studentName = studentName;
    }

    public String getStudentName()
    {
        return studentName;
    }

    public void setRewardName(String rewardName)
    {
        this.rewardName = rewardName;
    }

    public String getRewardName()
    {
        return rewardName;
    }

    public void setRewardLevel(String rewardLevel)
    {
        this.rewardLevel = rewardLevel;
    }

    public String getRewardLevel()
    {
        return rewardLevel;
    }

    public void setRewardDate(Date rewardDate)
    {
        this.rewardDate = rewardDate;
    }

    public Date getRewardDate()
    {
        return rewardDate;
    }

    public void setRewardImage(String rewardImage)
    {
        this.rewardImage = rewardImage;
    }

    public String getRewardImage()
    {
        return rewardImage;
    }

    public void setRewardDescription(String rewardDescription)
    {
        this.rewardDescription = rewardDescription;
    }

    public String getRewardDescription()
    {
        return rewardDescription;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("rewardId", getRewardId())
            .append("studentId", getStudentId())
            .append("studentName", getStudentName())
            .append("rewardName", getRewardName())
            .append("rewardLevel", getRewardLevel())
            .append("rewardDate", getRewardDate())
            .append("rewardImage", getRewardImage())
            .append("rewardDescription", getRewardDescription())
            .toString();
    }
}
